home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / pibt3sp1.arc / LTRIM.PAS < prev    next >
Pascal/Delphi Source File  |  1985-08-30  |  2KB  |  60 lines

  1. (*--------------------------------------------------------------------------*)
  2. (*               LTrim --- LTrim leading blanks from a string               *)
  3. (*--------------------------------------------------------------------------*)
  4.  
  5. FUNCTION LTrim( S : AnyStr ) : AnyStr;
  6.  
  7. (*--------------------------------------------------------------------------*)
  8. (*                                                                          *)
  9. (*     Function:   LTrim                                                    *)
  10. (*                                                                          *)
  11. (*     Purpose:    Trims leading blanks from a string                       *)
  12. (*                                                                          *)
  13. (*     Calling sequence:                                                    *)
  14. (*                                                                          *)
  15. (*         LTrimmed_S := TRIM( S );                                         *)
  16. (*                                                                          *)
  17. (*            S           --- the string to be trimmed                      *)
  18. (*            LTrimmed_S  --- the trimmed version of S                      *)
  19. (*                                                                          *)
  20. (*     Calls:  None                                                         *)
  21. (*                                                                          *)
  22. (*     Remarks:                                                             *)
  23. (*                                                                          *)
  24. (*        Note that the original string itself is left untrimmed.           *)
  25. (*                                                                          *)
  26. (*--------------------------------------------------------------------------*)
  27.  
  28. VAR
  29.    I:       INTEGER;
  30.    Trimmed: BOOLEAN;
  31.    L:       INTEGER;
  32.  
  33. BEGIN (* LTrim *)
  34.  
  35.    LTrim := '';
  36.  
  37.    IF LENGTH( S ) > 0 THEN
  38.       BEGIN
  39.  
  40.          I       := 0;
  41.          L       := LENGTH( S );
  42.          Trimmed := FALSE;
  43.  
  44.          REPEAT
  45.  
  46.             I := I + 1;
  47.             IF ( I <= L ) THEN
  48.                Trimmed := S[I] <> ' '
  49.             ELSE
  50.                Trimmed := TRUE;
  51.  
  52.          UNTIL Trimmed;
  53.  
  54.          IF ( ( L - I + 1 ) > 0 ) THEN
  55.             LTrim := COPY( S, I, L - I + 1 );
  56.  
  57.       END;
  58.  
  59. END   (* LTrim *);
  60.